GNUSH v0901
 

February 4th, 2009

KPIT Cummins Infosystems Limited is releasing GNUSH v0901, a cross compiler toolchain for Renesas (formerly Hitachi and Mitsubishi) SH series of microcontrollers.

SALIENT FEATURES:

1.

The GNUSH v0901 is based on gcc-4.3.2 [released], binutils-2.19 [released], newlib-1.16.0 [released], gdb-6.8.50 [dated 11th August 2008].

2.

The latest patches are applied to gcc, binutils and newlib sources. Please refer to the following link for the patches applied to the GNUSH toolchain,
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=002004&id=78&lang=en

3.

A new utility, "unifile", is provided along with GNUSH v0901 toolchain. This utility combines two or more Motorola format files (S-Record / Mot file) or Intel format files (Hex file) to generate a single Motorola format file or Intel format file.

4.

The  KPIT GNUSH toolchain can now be integrated with HEW4.05 on Windows Vista.

5.

GNUSH is now multicore ready. The GNUSH tools now support multi-core SuperH architectures including the newly released SH7205. For more information on the SH7205 please visit:
http://eu.renesas.com/gnumulticore

ABOUT GNUSH v0901:

Release version:

GNUSH v0901

Release Date:

February 4th, 2009

Platforms Supported:

Red Hat GNU/Linux v8.0 or later (or compatible distribution)
Windows NT/2000/XP/Vista

Language:

C, C++

Targets:

SH-1

 

SH-2

 

SH-2A

 

SH-2E

 

SH2-DSP

 

SH-3

 

SH-3E

 

SH3-DSP

 

SH-4

 

SH-4A

 

SH-4AL-DSP

Object File Format:

ELF

For free technical support register at http://www.kpitgnutools.com
For your feedback and suggestions visit http://www.kpitgnutools.com/feedback.php

CHANGES IN THIS RELEASE:

This section describes the enhancements and the problems fixed in this release.

GCC:

1.

The following test case containing a loop did not generate DT (Decrement and Test) instruction for 'O1', 'O2', 'O3' and 'Os' optimisation options.

int i;
void main(void)
{
   volatile int j = 0;
   for (i=0;i<256;i++)
   {
      j++;
   }
}


This bug has now been fixed. The DT instruction is now generated by all targets that support this instruction.

HEW (For Windows OS only):

1.

All the object files are linked using an external linker script. Previously if a file was added as an input under the 'Build'->'Linker'->'Input' tab settings, it would not get linked with the application.
This bug has now been fixed.

2.

In the HEW ED2 Reader after downloading the segments at their LMAs, the variables could not be watched. This bug is now fixed.

3.

If the '-mrenesas' option is passed to the compiler phase in HEW, the '-renesas' option was not being passed to the linker phase.
This bug is now fixed.

4.

The two Sh-2A targets i.e. 7206 and 7211, which do not support FPU are now added under a separate CPU series 'SH2A-NOFPU' in the project generator.

5.

The KPIT GNUSH toolchain can now be integrated with HEW4.05 on Windows Vista.

Please refer to the following link for the un-installation procedure,

http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=003001&id=313&lang=en

6.

Use of the FDT plugins under HEW on Windows Vista is deprecated. Hence, users are advised to download the latest version of the FDT application and use this application independently for Flash downloads.

INSTALLER:

1.

A shortcut is now available in the 'Start Menu' folder for v0901 toolchain samples.

 

OTHERS:

1.

The "unifile" utility facilitates the merging of two or more Motorola format files (commonly known as Mot file or S-Record file) or Intel format files (commonly known as Hex file) to generate a single Motorola format file (S-Record / Mot file) or Intel format file (Hex file).

This tool can be used as a command line utility or it can be interfaced in HEW by adding a custom build phase.
Refer to the following link for the user manual for the "unifile" tool,
http://kpitgnutools.com/Unifile_Utility_UserManual.pdf

 

 

KNOWN PROBLEMS IN SH-ELF:

 

This section describes the known problems in this release. We intend to fix the known problems in our future releases.
We also release maintenance packs for critical bugs fixed in between releases.

Windows and GNU/Linux:

1.

In newlib, 'fmod' function fails with and without "-mrenesas" option for the following single precision targets,

a.

SH2E

b.

SH2A-Single-Only

c.

SH3E

d.

SH4-Single-Only (Little endian and big endian)

e.

SH4A-Single-Only (Little endian and big endian)

2.

The 'log10', 'ldexp' and 'frexp' functions of optimised libraries fail for SH4-Single-Only (Little endian) and SH4A-Single-Only (Little endian) targets.

3.

Library Generator: Refer to the following link for the known issues and limitations of this utility,
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=002003&id=415&lang=en

4.

The SH peripheral registers have strict access size requirements with some registers requiring a byte level access. The GNUSH compiler generates a word level instruction "mov.w" to access these peripheral registers. This type of access currently fails on the hardware.

HEW (For Windows OS only):

1.

Library Generator: Currently, after changing the "Library Generator" settings, the user is prompted to open the Complier/ Linker option dialogs and click on "OK". We are aware of the inconvenience to the users and will provide a fix in future releases.

 

NOTE:

Windows and GNU/Linux:

1. 

The optimised libraries are provided along with the newlib libraries in the toolchain and do not require separate download.

2.

The optimised libraries ('liboptm.a' and 'liboptc.a') are not provided under GNU GPL. The source code of these optimised libraries is neither released nor available on request.

3.

The "libgen" utility is not provided under GNU GPL. The source code of the "libgen" utility is neither released nor available on request.